﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x02000791 RID: 1937
	public class CVROverlay
	{
		// Token: 0x06002E90 RID: 11920 RVA: 0x000F2BC0 File Offset: 0x000F0DC0
		internal CVROverlay(IntPtr pInterface)
		{
			this.FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay));
		}

		// Token: 0x06002E91 RID: 11921 RVA: 0x000F2BE4 File Offset: 0x000F0DE4
		public EVROverlayError FindOverlay(string pchOverlayKey, ref ulong pOverlayHandle)
		{
			pOverlayHandle = 0UL;
			return this.FnTable.FindOverlay(pchOverlayKey, ref pOverlayHandle);
		}

		// Token: 0x06002E92 RID: 11922 RVA: 0x000F2C0C File Offset: 0x000F0E0C
		public EVROverlayError CreateOverlay(string pchOverlayKey, string pchOverlayName, ref ulong pOverlayHandle)
		{
			pOverlayHandle = 0UL;
			return this.FnTable.CreateOverlay(pchOverlayKey, pchOverlayName, ref pOverlayHandle);
		}

		// Token: 0x06002E93 RID: 11923 RVA: 0x000F2C34 File Offset: 0x000F0E34
		public EVROverlayError DestroyOverlay(ulong ulOverlayHandle)
		{
			return this.FnTable.DestroyOverlay(ulOverlayHandle);
		}

		// Token: 0x06002E94 RID: 11924 RVA: 0x000F2C54 File Offset: 0x000F0E54
		public EVROverlayError SetHighQualityOverlay(ulong ulOverlayHandle)
		{
			return this.FnTable.SetHighQualityOverlay(ulOverlayHandle);
		}

		// Token: 0x06002E95 RID: 11925 RVA: 0x000F2C74 File Offset: 0x000F0E74
		public ulong GetHighQualityOverlay()
		{
			return this.FnTable.GetHighQualityOverlay();
		}

		// Token: 0x06002E96 RID: 11926 RVA: 0x000F2C94 File Offset: 0x000F0E94
		public uint GetOverlayKey(ulong ulOverlayHandle, StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError)
		{
			return this.FnTable.GetOverlayKey(ulOverlayHandle, pchValue, unBufferSize, ref pError);
		}

		// Token: 0x06002E97 RID: 11927 RVA: 0x000F2CB8 File Offset: 0x000F0EB8
		public uint GetOverlayName(ulong ulOverlayHandle, StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError)
		{
			return this.FnTable.GetOverlayName(ulOverlayHandle, pchValue, unBufferSize, ref pError);
		}

		// Token: 0x06002E98 RID: 11928 RVA: 0x000F2CDC File Offset: 0x000F0EDC
		public EVROverlayError SetOverlayName(ulong ulOverlayHandle, string pchName)
		{
			return this.FnTable.SetOverlayName(ulOverlayHandle, pchName);
		}

		// Token: 0x06002E99 RID: 11929 RVA: 0x000F2D00 File Offset: 0x000F0F00
		public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle, IntPtr pvBuffer, uint unBufferSize, ref uint punWidth, ref uint punHeight)
		{
			punWidth = 0U;
			punHeight = 0U;
			return this.FnTable.GetOverlayImageData(ulOverlayHandle, pvBuffer, unBufferSize, ref punWidth, ref punHeight);
		}

		// Token: 0x06002E9A RID: 11930 RVA: 0x000F2D30 File Offset: 0x000F0F30
		public string GetOverlayErrorNameFromEnum(EVROverlayError error)
		{
			IntPtr ptr = this.FnTable.GetOverlayErrorNameFromEnum(error);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x06002E9B RID: 11931 RVA: 0x000F2D58 File Offset: 0x000F0F58
		public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle, uint unPID)
		{
			return this.FnTable.SetOverlayRenderingPid(ulOverlayHandle, unPID);
		}

		// Token: 0x06002E9C RID: 11932 RVA: 0x000F2D7C File Offset: 0x000F0F7C
		public uint GetOverlayRenderingPid(ulong ulOverlayHandle)
		{
			return this.FnTable.GetOverlayRenderingPid(ulOverlayHandle);
		}

		// Token: 0x06002E9D RID: 11933 RVA: 0x000F2D9C File Offset: 0x000F0F9C
		public EVROverlayError SetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled)
		{
			return this.FnTable.SetOverlayFlag(ulOverlayHandle, eOverlayFlag, bEnabled);
		}

		// Token: 0x06002E9E RID: 11934 RVA: 0x000F2DC0 File Offset: 0x000F0FC0
		public EVROverlayError GetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, ref bool pbEnabled)
		{
			pbEnabled = false;
			return this.FnTable.GetOverlayFlag(ulOverlayHandle, eOverlayFlag, ref pbEnabled);
		}

		// Token: 0x06002E9F RID: 11935 RVA: 0x000F2DE8 File Offset: 0x000F0FE8
		public EVROverlayError SetOverlayColor(ulong ulOverlayHandle, float fRed, float fGreen, float fBlue)
		{
			return this.FnTable.SetOverlayColor(ulOverlayHandle, fRed, fGreen, fBlue);
		}

		// Token: 0x06002EA0 RID: 11936 RVA: 0x000F2E0C File Offset: 0x000F100C
		public EVROverlayError GetOverlayColor(ulong ulOverlayHandle, ref float pfRed, ref float pfGreen, ref float pfBlue)
		{
			pfRed = 0f;
			pfGreen = 0f;
			pfBlue = 0f;
			return this.FnTable.GetOverlayColor(ulOverlayHandle, ref pfRed, ref pfGreen, ref pfBlue);
		}

		// Token: 0x06002EA1 RID: 11937 RVA: 0x000F2E48 File Offset: 0x000F1048
		public EVROverlayError SetOverlayAlpha(ulong ulOverlayHandle, float fAlpha)
		{
			return this.FnTable.SetOverlayAlpha(ulOverlayHandle, fAlpha);
		}

		// Token: 0x06002EA2 RID: 11938 RVA: 0x000F2E6C File Offset: 0x000F106C
		public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle, ref float pfAlpha)
		{
			pfAlpha = 0f;
			return this.FnTable.GetOverlayAlpha(ulOverlayHandle, ref pfAlpha);
		}

		// Token: 0x06002EA3 RID: 11939 RVA: 0x000F2E94 File Offset: 0x000F1094
		public EVROverlayError SetOverlayTexelAspect(ulong ulOverlayHandle, float fTexelAspect)
		{
			return this.FnTable.SetOverlayTexelAspect(ulOverlayHandle, fTexelAspect);
		}

		// Token: 0x06002EA4 RID: 11940 RVA: 0x000F2EB8 File Offset: 0x000F10B8
		public EVROverlayError GetOverlayTexelAspect(ulong ulOverlayHandle, ref float pfTexelAspect)
		{
			pfTexelAspect = 0f;
			return this.FnTable.GetOverlayTexelAspect(ulOverlayHandle, ref pfTexelAspect);
		}

		// Token: 0x06002EA5 RID: 11941 RVA: 0x000F2EE0 File Offset: 0x000F10E0
		public EVROverlayError SetOverlaySortOrder(ulong ulOverlayHandle, uint unSortOrder)
		{
			return this.FnTable.SetOverlaySortOrder(ulOverlayHandle, unSortOrder);
		}

		// Token: 0x06002EA6 RID: 11942 RVA: 0x000F2F04 File Offset: 0x000F1104
		public EVROverlayError GetOverlaySortOrder(ulong ulOverlayHandle, ref uint punSortOrder)
		{
			punSortOrder = 0U;
			return this.FnTable.GetOverlaySortOrder(ulOverlayHandle, ref punSortOrder);
		}

		// Token: 0x06002EA7 RID: 11943 RVA: 0x000F2F28 File Offset: 0x000F1128
		public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters)
		{
			return this.FnTable.SetOverlayWidthInMeters(ulOverlayHandle, fWidthInMeters);
		}

		// Token: 0x06002EA8 RID: 11944 RVA: 0x000F2F4C File Offset: 0x000F114C
		public EVROverlayError GetOverlayWidthInMeters(ulong ulOverlayHandle, ref float pfWidthInMeters)
		{
			pfWidthInMeters = 0f;
			return this.FnTable.GetOverlayWidthInMeters(ulOverlayHandle, ref pfWidthInMeters);
		}

		// Token: 0x06002EA9 RID: 11945 RVA: 0x000F2F74 File Offset: 0x000F1174
		public EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters)
		{
			return this.FnTable.SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle, fMinDistanceInMeters, fMaxDistanceInMeters);
		}

		// Token: 0x06002EAA RID: 11946 RVA: 0x000F2F98 File Offset: 0x000F1198
		public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters)
		{
			pfMinDistanceInMeters = 0f;
			pfMaxDistanceInMeters = 0f;
			return this.FnTable.GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle, ref pfMinDistanceInMeters, ref pfMaxDistanceInMeters);
		}

		// Token: 0x06002EAB RID: 11947 RVA: 0x000F2FC8 File Offset: 0x000F11C8
		public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace)
		{
			return this.FnTable.SetOverlayTextureColorSpace(ulOverlayHandle, eTextureColorSpace);
		}

		// Token: 0x06002EAC RID: 11948 RVA: 0x000F2FEC File Offset: 0x000F11EC
		public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace)
		{
			return this.FnTable.GetOverlayTextureColorSpace(ulOverlayHandle, ref peTextureColorSpace);
		}

		// Token: 0x06002EAD RID: 11949 RVA: 0x000F3010 File Offset: 0x000F1210
		public EVROverlayError SetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds)
		{
			return this.FnTable.SetOverlayTextureBounds(ulOverlayHandle, ref pOverlayTextureBounds);
		}

		// Token: 0x06002EAE RID: 11950 RVA: 0x000F3034 File Offset: 0x000F1234
		public EVROverlayError GetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds)
		{
			return this.FnTable.GetOverlayTextureBounds(ulOverlayHandle, ref pOverlayTextureBounds);
		}

		// Token: 0x06002EAF RID: 11951 RVA: 0x000F3058 File Offset: 0x000F1258
		public uint GetOverlayRenderModel(ulong ulOverlayHandle, string pchValue, uint unBufferSize, ref HmdColor_t pColor, ref EVROverlayError pError)
		{
			return this.FnTable.GetOverlayRenderModel(ulOverlayHandle, pchValue, unBufferSize, ref pColor, ref pError);
		}

		// Token: 0x06002EB0 RID: 11952 RVA: 0x000F3080 File Offset: 0x000F1280
		public EVROverlayError SetOverlayRenderModel(ulong ulOverlayHandle, string pchRenderModel, ref HmdColor_t pColor)
		{
			return this.FnTable.SetOverlayRenderModel(ulOverlayHandle, pchRenderModel, ref pColor);
		}

		// Token: 0x06002EB1 RID: 11953 RVA: 0x000F30A4 File Offset: 0x000F12A4
		public EVROverlayError GetOverlayTransformType(ulong ulOverlayHandle, ref VROverlayTransformType peTransformType)
		{
			return this.FnTable.GetOverlayTransformType(ulOverlayHandle, ref peTransformType);
		}

		// Token: 0x06002EB2 RID: 11954 RVA: 0x000F30C8 File Offset: 0x000F12C8
		public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
		{
			return this.FnTable.SetOverlayTransformAbsolute(ulOverlayHandle, eTrackingOrigin, ref pmatTrackingOriginToOverlayTransform);
		}

		// Token: 0x06002EB3 RID: 11955 RVA: 0x000F30EC File Offset: 0x000F12EC
		public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform)
		{
			return this.FnTable.GetOverlayTransformAbsolute(ulOverlayHandle, ref peTrackingOrigin, ref pmatTrackingOriginToOverlayTransform);
		}

		// Token: 0x06002EB4 RID: 11956 RVA: 0x000F3110 File Offset: 0x000F1310
		public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
		{
			return this.FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, unTrackedDevice, ref pmatTrackedDeviceToOverlayTransform);
		}

		// Token: 0x06002EB5 RID: 11957 RVA: 0x000F3134 File Offset: 0x000F1334
		public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform)
		{
			punTrackedDevice = 0U;
			return this.FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, ref punTrackedDevice, ref pmatTrackedDeviceToOverlayTransform);
		}

		// Token: 0x06002EB6 RID: 11958 RVA: 0x000F315C File Offset: 0x000F135C
		public EVROverlayError SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, uint unDeviceIndex, string pchComponentName)
		{
			return this.FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle, unDeviceIndex, pchComponentName);
		}

		// Token: 0x06002EB7 RID: 11959 RVA: 0x000F3180 File Offset: 0x000F1380
		public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, string pchComponentName, uint unComponentNameSize)
		{
			punDeviceIndex = 0U;
			return this.FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle, ref punDeviceIndex, pchComponentName, unComponentNameSize);
		}

		// Token: 0x06002EB8 RID: 11960 RVA: 0x000F31A8 File Offset: 0x000F13A8
		public EVROverlayError GetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ref ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform)
		{
			ulOverlayHandleParent = 0UL;
			return this.FnTable.GetOverlayTransformOverlayRelative(ulOverlayHandle, ref ulOverlayHandleParent, ref pmatParentOverlayToOverlayTransform);
		}

		// Token: 0x06002EB9 RID: 11961 RVA: 0x000F31D0 File Offset: 0x000F13D0
		public EVROverlayError SetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform)
		{
			return this.FnTable.SetOverlayTransformOverlayRelative(ulOverlayHandle, ulOverlayHandleParent, ref pmatParentOverlayToOverlayTransform);
		}

		// Token: 0x06002EBA RID: 11962 RVA: 0x000F31F4 File Offset: 0x000F13F4
		public EVROverlayError ShowOverlay(ulong ulOverlayHandle)
		{
			return this.FnTable.ShowOverlay(ulOverlayHandle);
		}

		// Token: 0x06002EBB RID: 11963 RVA: 0x000F3214 File Offset: 0x000F1414
		public EVROverlayError HideOverlay(ulong ulOverlayHandle)
		{
			return this.FnTable.HideOverlay(ulOverlayHandle);
		}

		// Token: 0x06002EBC RID: 11964 RVA: 0x000F3234 File Offset: 0x000F1434
		public bool IsOverlayVisible(ulong ulOverlayHandle)
		{
			return this.FnTable.IsOverlayVisible(ulOverlayHandle);
		}

		// Token: 0x06002EBD RID: 11965 RVA: 0x000F3254 File Offset: 0x000F1454
		public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform)
		{
			return this.FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay, ref pmatTransform);
		}

		// Token: 0x06002EBE RID: 11966 RVA: 0x000F3278 File Offset: 0x000F1478
		public bool PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent)
		{
			if (Environment.OSVersion.Platform == PlatformID.MacOSX || Environment.OSVersion.Platform == PlatformID.Unix)
			{
				VREvent_t_Packed vrevent_t_Packed = default(VREvent_t_Packed);
				CVROverlay.PollNextOverlayEventUnion pollNextOverlayEventUnion;
				pollNextOverlayEventUnion.pPollNextOverlayEventPacked = null;
				pollNextOverlayEventUnion.pPollNextOverlayEvent = this.FnTable.PollNextOverlayEvent;
				bool result = pollNextOverlayEventUnion.pPollNextOverlayEventPacked(ulOverlayHandle, ref vrevent_t_Packed, (uint)Marshal.SizeOf(typeof(VREvent_t_Packed)));
				vrevent_t_Packed.Unpack(ref pEvent);
				return result;
			}
			return this.FnTable.PollNextOverlayEvent(ulOverlayHandle, ref pEvent, uncbVREvent);
		}

		// Token: 0x06002EBF RID: 11967 RVA: 0x000F3308 File Offset: 0x000F1508
		public EVROverlayError GetOverlayInputMethod(ulong ulOverlayHandle, ref VROverlayInputMethod peInputMethod)
		{
			return this.FnTable.GetOverlayInputMethod(ulOverlayHandle, ref peInputMethod);
		}

		// Token: 0x06002EC0 RID: 11968 RVA: 0x000F332C File Offset: 0x000F152C
		public EVROverlayError SetOverlayInputMethod(ulong ulOverlayHandle, VROverlayInputMethod eInputMethod)
		{
			return this.FnTable.SetOverlayInputMethod(ulOverlayHandle, eInputMethod);
		}

		// Token: 0x06002EC1 RID: 11969 RVA: 0x000F3350 File Offset: 0x000F1550
		public EVROverlayError GetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale)
		{
			return this.FnTable.GetOverlayMouseScale(ulOverlayHandle, ref pvecMouseScale);
		}

		// Token: 0x06002EC2 RID: 11970 RVA: 0x000F3374 File Offset: 0x000F1574
		public EVROverlayError SetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale)
		{
			return this.FnTable.SetOverlayMouseScale(ulOverlayHandle, ref pvecMouseScale);
		}

		// Token: 0x06002EC3 RID: 11971 RVA: 0x000F3398 File Offset: 0x000F1598
		public bool ComputeOverlayIntersection(ulong ulOverlayHandle, ref VROverlayIntersectionParams_t pParams, ref VROverlayIntersectionResults_t pResults)
		{
			return this.FnTable.ComputeOverlayIntersection(ulOverlayHandle, ref pParams, ref pResults);
		}

		// Token: 0x06002EC4 RID: 11972 RVA: 0x000F33BC File Offset: 0x000F15BC
		public bool HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle, uint unControllerDeviceIndex)
		{
			return this.FnTable.HandleControllerOverlayInteractionAsMouse(ulOverlayHandle, unControllerDeviceIndex);
		}

		// Token: 0x06002EC5 RID: 11973 RVA: 0x000F33E0 File Offset: 0x000F15E0
		public bool IsHoverTargetOverlay(ulong ulOverlayHandle)
		{
			return this.FnTable.IsHoverTargetOverlay(ulOverlayHandle);
		}

		// Token: 0x06002EC6 RID: 11974 RVA: 0x000F3400 File Offset: 0x000F1600
		public ulong GetGamepadFocusOverlay()
		{
			return this.FnTable.GetGamepadFocusOverlay();
		}

		// Token: 0x06002EC7 RID: 11975 RVA: 0x000F3420 File Offset: 0x000F1620
		public EVROverlayError SetGamepadFocusOverlay(ulong ulNewFocusOverlay)
		{
			return this.FnTable.SetGamepadFocusOverlay(ulNewFocusOverlay);
		}

		// Token: 0x06002EC8 RID: 11976 RVA: 0x000F3440 File Offset: 0x000F1640
		public EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection, ulong ulFrom, ulong ulTo)
		{
			return this.FnTable.SetOverlayNeighbor(eDirection, ulFrom, ulTo);
		}

		// Token: 0x06002EC9 RID: 11977 RVA: 0x000F3464 File Offset: 0x000F1664
		public EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, ulong ulFrom)
		{
			return this.FnTable.MoveGamepadFocusToNeighbor(eDirection, ulFrom);
		}

		// Token: 0x06002ECA RID: 11978 RVA: 0x000F3488 File Offset: 0x000F1688
		public EVROverlayError SetOverlayTexture(ulong ulOverlayHandle, ref Texture_t pTexture)
		{
			return this.FnTable.SetOverlayTexture(ulOverlayHandle, ref pTexture);
		}

		// Token: 0x06002ECB RID: 11979 RVA: 0x000F34AC File Offset: 0x000F16AC
		public EVROverlayError ClearOverlayTexture(ulong ulOverlayHandle)
		{
			return this.FnTable.ClearOverlayTexture(ulOverlayHandle);
		}

		// Token: 0x06002ECC RID: 11980 RVA: 0x000F34CC File Offset: 0x000F16CC
		public EVROverlayError SetOverlayRaw(ulong ulOverlayHandle, IntPtr pvBuffer, uint unWidth, uint unHeight, uint unDepth)
		{
			return this.FnTable.SetOverlayRaw(ulOverlayHandle, pvBuffer, unWidth, unHeight, unDepth);
		}

		// Token: 0x06002ECD RID: 11981 RVA: 0x000F34F4 File Offset: 0x000F16F4
		public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath)
		{
			return this.FnTable.SetOverlayFromFile(ulOverlayHandle, pchFilePath);
		}

		// Token: 0x06002ECE RID: 11982 RVA: 0x000F3518 File Offset: 0x000F1718
		public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds)
		{
			pWidth = 0U;
			pHeight = 0U;
			pNativeFormat = 0U;
			return this.FnTable.GetOverlayTexture(ulOverlayHandle, ref pNativeTextureHandle, pNativeTextureRef, ref pWidth, ref pHeight, ref pNativeFormat, ref pAPIType, ref pColorSpace, ref pTextureBounds);
		}

		// Token: 0x06002ECF RID: 11983 RVA: 0x000F3554 File Offset: 0x000F1754
		public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle, IntPtr pNativeTextureHandle)
		{
			return this.FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle, pNativeTextureHandle);
		}

		// Token: 0x06002ED0 RID: 11984 RVA: 0x000F3578 File Offset: 0x000F1778
		public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight)
		{
			pWidth = 0U;
			pHeight = 0U;
			return this.FnTable.GetOverlayTextureSize(ulOverlayHandle, ref pWidth, ref pHeight);
		}

		// Token: 0x06002ED1 RID: 11985 RVA: 0x000F35A0 File Offset: 0x000F17A0
		public EVROverlayError CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle)
		{
			pMainHandle = 0UL;
			pThumbnailHandle = 0UL;
			return this.FnTable.CreateDashboardOverlay(pchOverlayKey, pchOverlayFriendlyName, ref pMainHandle, ref pThumbnailHandle);
		}

		// Token: 0x06002ED2 RID: 11986 RVA: 0x000F35D0 File Offset: 0x000F17D0
		public bool IsDashboardVisible()
		{
			return this.FnTable.IsDashboardVisible();
		}

		// Token: 0x06002ED3 RID: 11987 RVA: 0x000F35F0 File Offset: 0x000F17F0
		public bool IsActiveDashboardOverlay(ulong ulOverlayHandle)
		{
			return this.FnTable.IsActiveDashboardOverlay(ulOverlayHandle);
		}

		// Token: 0x06002ED4 RID: 11988 RVA: 0x000F3610 File Offset: 0x000F1810
		public EVROverlayError SetDashboardOverlaySceneProcess(ulong ulOverlayHandle, uint unProcessId)
		{
			return this.FnTable.SetDashboardOverlaySceneProcess(ulOverlayHandle, unProcessId);
		}

		// Token: 0x06002ED5 RID: 11989 RVA: 0x000F3634 File Offset: 0x000F1834
		public EVROverlayError GetDashboardOverlaySceneProcess(ulong ulOverlayHandle, ref uint punProcessId)
		{
			punProcessId = 0U;
			return this.FnTable.GetDashboardOverlaySceneProcess(ulOverlayHandle, ref punProcessId);
		}

		// Token: 0x06002ED6 RID: 11990 RVA: 0x000F3658 File Offset: 0x000F1858
		public void ShowDashboard(string pchOverlayToShow)
		{
			this.FnTable.ShowDashboard(pchOverlayToShow);
		}

		// Token: 0x06002ED7 RID: 11991 RVA: 0x000F366C File Offset: 0x000F186C
		public uint GetPrimaryDashboardDevice()
		{
			return this.FnTable.GetPrimaryDashboardDevice();
		}

		// Token: 0x06002ED8 RID: 11992 RVA: 0x000F368C File Offset: 0x000F188C
		public EVROverlayError ShowKeyboard(int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue)
		{
			return this.FnTable.ShowKeyboard(eInputMode, eLineInputMode, pchDescription, unCharMax, pchExistingText, bUseMinimalMode, uUserValue);
		}

		// Token: 0x06002ED9 RID: 11993 RVA: 0x000F36B8 File Offset: 0x000F18B8
		public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue)
		{
			return this.FnTable.ShowKeyboardForOverlay(ulOverlayHandle, eInputMode, eLineInputMode, pchDescription, unCharMax, pchExistingText, bUseMinimalMode, uUserValue);
		}

		// Token: 0x06002EDA RID: 11994 RVA: 0x000F36E4 File Offset: 0x000F18E4
		public uint GetKeyboardText(StringBuilder pchText, uint cchText)
		{
			return this.FnTable.GetKeyboardText(pchText, cchText);
		}

		// Token: 0x06002EDB RID: 11995 RVA: 0x000F3708 File Offset: 0x000F1908
		public void HideKeyboard()
		{
			this.FnTable.HideKeyboard();
		}

		// Token: 0x06002EDC RID: 11996 RVA: 0x000F371C File Offset: 0x000F191C
		public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform)
		{
			this.FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin, ref pmatTrackingOriginToKeyboardTransform);
		}

		// Token: 0x06002EDD RID: 11997 RVA: 0x000F3730 File Offset: 0x000F1930
		public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle, HmdRect2_t avoidRect)
		{
			this.FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle, avoidRect);
		}

		// Token: 0x06002EDE RID: 11998 RVA: 0x000F3744 File Offset: 0x000F1944
		public EVROverlayError SetOverlayIntersectionMask(ulong ulOverlayHandle, ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives, uint unNumMaskPrimitives, uint unPrimitiveSize)
		{
			return this.FnTable.SetOverlayIntersectionMask(ulOverlayHandle, ref pMaskPrimitives, unNumMaskPrimitives, unPrimitiveSize);
		}

		// Token: 0x06002EDF RID: 11999 RVA: 0x000F3768 File Offset: 0x000F1968
		public EVROverlayError GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags)
		{
			pFlags = 0U;
			return this.FnTable.GetOverlayFlags(ulOverlayHandle, ref pFlags);
		}

		// Token: 0x06002EE0 RID: 12000 RVA: 0x000F378C File Offset: 0x000F198C
		public VRMessageOverlayResponse ShowMessageOverlay(string pchText, string pchCaption, string pchButton0Text, string pchButton1Text, string pchButton2Text, string pchButton3Text)
		{
			return this.FnTable.ShowMessageOverlay(pchText, pchCaption, pchButton0Text, pchButton1Text, pchButton2Text, pchButton3Text);
		}

		// Token: 0x04002AE1 RID: 10977
		private IVROverlay FnTable;

		// Token: 0x02000792 RID: 1938
		// (Invoke) Token: 0x06002EE2 RID: 12002
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate bool _PollNextOverlayEventPacked(ulong ulOverlayHandle, ref VREvent_t_Packed pEvent, uint uncbVREvent);

		// Token: 0x02000793 RID: 1939
		[StructLayout(LayoutKind.Explicit)]
		private struct PollNextOverlayEventUnion
		{
			// Token: 0x04002AE2 RID: 10978
			[FieldOffset(0)]
			public IVROverlay._PollNextOverlayEvent pPollNextOverlayEvent;

			// Token: 0x04002AE3 RID: 10979
			[FieldOffset(0)]
			public CVROverlay._PollNextOverlayEventPacked pPollNextOverlayEventPacked;
		}
	}
}
